package cn.zn.modules.zzsys.cur.service;

import cn.zn.modules.zzsys.cur.entity.TeacherPgroup;
import cn.zn.modules.zzsys.cur.entity.dto.UserProcessGroupSaveDTO;
import cn.zn.modules.zzsys.cur.entity.vo.TeacherPgroupUserDeptVO;
import cn.zn.modules.zzsys.cur.entity.vo.TeacherPgroupUserVO;
import cn.zn.modules.zzsys.cur.entity.vo.TeacherPgroupVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author ZN
 */
public interface TeacherPgroupService extends IService<TeacherPgroup> {

    /**
     * 查询流程用户组列表
     *
     * @return
     */
    List<TeacherPgroupVO> queryGroupList();

    /**
     * 查询用户列表
     *
     * @param processGroupCode
     * @return
     */
    List<TeacherPgroupUserVO> queryUserGroupList(String processGroupCode);

    /**
     * 查询用户部门列表
     *
     * @param processGroupCode
     * @return
     */
    List<TeacherPgroupUserDeptVO> queryUserDeptGroupList(String processGroupCode);

    /**
     * 保存用户流程用户组（新增）
     *
     * @param dto                保存信息
     * @param insteadDept        是否按部门替换
     * @param insteadProessGroup 是否按流程用户组替换
     */
    void saveUserProcessGroup(UserProcessGroupSaveDTO dto, Boolean insteadDept, Boolean insteadProessGroup);

}
